#!/bin/sh

# Copyright 2017 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This driver implements a tmpfs with a pre-populated file index.html.

FLEX_DUMMY_LOG=${FLEX_DUMMY_LOG:-"/tmp/flex-dummy.log"}

log() {
	printf "$*" >&1
}

debug() {
	echo "$(date) $*" >> "${FLEX_DUMMY_LOG}"
}

domount() {
	debug "domount $@"
	MNTPATH=$1
	mkdir -p ${MNTPATH} >/dev/null 2>&1
	mount -t tmpfs none ${MNTPATH} >/dev/null 2>&1
	echo "Hello from flexvolume!" >> "${MNTPATH}/index.html"
	log "{\"status\":\"Success\"}"
	exit 0
}

unmount() {
	debug "unmount $@"
	MNTPATH=$1
	rm ${MNTPATH}/index.html >/dev/null 2>&1
	umount ${MNTPATH} >/dev/null 2>&1
	log "{\"status\":\"Success\"}"
	exit 0
}

op=$1

if [ "$op" = "init" ]; then
	debug "init $@"
	log "{\"status\":\"Success\",\"capabilities\":{\"attach\":false}}"
	exit 0
fi

shift

case "$op" in
	mount)
		domount $*
		;;
	unmount)
		unmount $*
		;;
	*)
		log "{\"status\":\"Not supported\"}"
		exit 0
esac

exit 1
